#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
       #include <unistd.h>
#include<stdlib.h>
#include <sys/wait.h>


int main()
{

  pid_t i = fork();

if (-1  == i)//创建子进程失败
{
printf("创建子进程失败\n");
return 2;
}
else if (0 == i)//子进程
{

int cat = 10;

while (cat)
{
sleep(1);
printf("我是一个子进程 %d  我的父亲是 %d\n", getpid(), getppid());  
cat--;
}

exit(21);

//return 12;      
}
else//父进程
{
int* status = NULL;

  pid_t t = wait(status);
sleep(1);
printf("我是一个父进程%d,子进程退出状态为%d,子进程的退出码是%d\n", getpid(), WIFEXITED(status),WEXITSTATUS(status));


  return 99;

}

}
